﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace Onetube.Providers.Interfaces
{
    public interface IYoutubePlayListProvider
    {
        Task<Models.SearchPlayListResult> SearchPlayListByChannelIdAsync(string id, string maxResults, CancellationTokenSource cancelTask);

        Task<Models.SearchPlayListResult> SearchPlayListByChannelIdPrevAsync(string prevPageToken, string id, string maxResults, CancellationTokenSource cancelTask);

        Task<Models.SearchPlayListResult> SearchPlayListByChannelIdNextAsync(string nextPageToken, string id, string maxResults, CancellationTokenSource cancelTask);

        Task<Onetube.Entities.PlayListQueryResult.PlayListQueryResult> GetMyPlayListsAsync(string token, string maxResults, CancellationTokenSource cancelTask);
               
        Task<Onetube.Entities.PlayListQueryResult.PlayListQueryResult> GetMyPlayListsNextPageAsync(string token, string maxResults, string nextPageToken, CancellationTokenSource cancelTask);
        Task<Onetube.Entities.PlayListQueryResult.PlayListQueryResult> GetPlayPlistByIdAsync(string id, CancellationTokenSource cancelTask);
    }
}